package cn.buk.tms.dao;

import cn.buk.tms.entity.misc.DeliveryNote;
import cn.buk.tms.entity.misc.OperationLog;
import cn.buk.tms.sc.SearchFlightOrderCriteria;
import java.util.Date;
import java.util.List;

/**
 * @author yfdai
 */
public interface DeliveryNoteDao {

  /**
   * 保存配送单
   *
   * @param o 配送单对象
   * @return 配送单id
   */
  int createDeliveryNote(final DeliveryNote o);

  /**
   * 查找配送单
   * @param enterpriseId
   * @param sc
   * @return
   */
  List<DeliveryNote> searchDeliveryNotes(final int enterpriseId, final SearchFlightOrderCriteria sc);

  List<DeliveryNote> searchDeliveryNoteByOrderNo(final int enterpriseId, final String orderNo);

  DeliveryNote getDeliveryNoteById(int orderId);

  int processDeliveryNote(int enterpriseId, String username, int orderId);

  int finishDeliveryNote(int enterpriseId, String username, int orderId, String remark);

  int cancelDeliveryNote(int enterpriseId, String username, int orderId, String remark);

  int updateDeliveryNoteDeliveryDate(int enterpriseId, String username, int orderId, Date deliveryDate);

  List<OperationLog> searchDeliveryNoteHistory(int enterpriseId, int orderId);



}